package com.lai.hospital.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lai.hospital.dto.ResourceRoleDTO;
import com.lai.hospital.dto.RoleDTO;
import com.lai.hospital.entity.Role;
import com.lai.hospital.vo.ConditionVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author : lai
 * @version V1.0
 * @Project: hospital-springboot
 * @Package com.lai.hospital.dao
 * @Description: 角色
 * @date Date : 2022年11月18日 13:16
 */
@Repository
public interface RoleDao extends BaseMapper<Role> {
    /**
     * 根据用户信息id查询对应的角色列表
     * @param userInfoId 用户信息id
     * @return
     */
    List<String> selectListRoleByUserInfoId(@Param("userInfoId") Integer userInfoId);

    /**
     * 查询出所有角色对应的需要权限才能访问的资源
     * @return
     */
    List<ResourceRoleDTO> selectListResourceRoles();

    /**
     * 查询角色列表及所对应的资源、菜单列表
     * @param current     页码
     * @param size        条数
     * @param conditionVO 条件
     * @return 角色列表
     */
    List<RoleDTO> listRolesAndResAndMenu(@Param("current") Long current, @Param("size")Long size, @Param("conditionVO")ConditionVO conditionVO);
}
